pcworld online logo

Visual Basic ile Kes - Kopyala -Yap²■t²r!

Windows alt²nda τal²■an hemen hemen tⁿm metin edit÷rleri panoyu kullan²r. Panoya veri yap²■t²rmay², panodan veri almay² geτen aylarda verdi≡imiz ÷rneklerle iyice aτ²klad²k. Peki metin edit÷rleri metinin hangi parτas²n²n seτildi≡ini nas²l anl²yor. Metnin belirli bir k²sm²n² nas²l kesip al²yor? ▌stenilen metni bⁿtⁿn bir yaz² iτinde nas²l buluyor? Bu dediklerimizi yapmak iτin Visual Basic ile haz²rlanm²■ tⁿm metin edit÷rleri hemen hemen ayn² teknikleri uygular. ▌■te bunlardan bir kaτ²:

Metnin, kullan²c² taraf²ndan seτilen k²sm²n²n anla■²l²p panoya kopyalanmas² iτin (Kopyala)

ClipBoard.SetText screen.ActiveControl.SelText

Metnin, kullan²c² taraf²ndan seτilen k²sm²n²n anla■²l²p panoya kopyalanmas² ve seτilen yerin silinmesi iτin (Kes)

ClipBoard.SetText screen.ActiveControl.SelText  ' Seτilen metni ilk ÷nce kopyala
screen.ActiveControl.SelText = "" ' Sonra i■aretlenen yeri sil.

Panodan yap²■t²r²lan k²sm²n kullan²c² taraf²ndan seτilen k²sm²n ⁿzerine yaz²lmas² iτin(Yap²■t²r)

screen.ActiveControl.SelText = ClipBoard.GetText() 

visual basic resim2 Metnin belirtilen k²sm²n² anlamak ve metnin herhangi bir k²sm²n² otomatik olarak seτtirmek iτin SelText komutunu, metnin hangi k²s²mdan seτilmeye ba■lanaca≡²n² tayin etmek iτin SelStart komutunu, Seτilecek metnin uzunlu≡unu ayarlamak iτin ise SelLength komutunu kullan²yoruz. Hat²rlayaca≡²n²z gibi Microsoft Word kullan²l²rken CTRL+A tu■ kombinasyonu tⁿm metni otomatik olarak seτebiliyordu. Sadece ufac²k bir kod parτas²yla bunu gerτekle■tirebiliriz.

text1.SelStart = 0   ' SelStart komutu metnin i■aretlenen k²sm²n²n nereden
                     'ba■layaca≡²n² belirtir. Biz i■aretlemeye metnin 
                     'ba■²ndan ba■lamak istiyoruz...

text1.SelLength = Len(text1.Text) 'Metnin i■aretlenen k²sm² metnin uzunlu≡u kadar olacak
Peki metin edit÷rleri uzun bir yaz²n²n iτinde istedi≡imiz kelimeyi nas²l aray²p buluyorlar?
Bunu anlamak iτin a■a≡²daki kodu bir inceleyin.

Dim ara, nerede                	' Kullanaca≡²m²z de≡i■kenleri atayal²m
' Kullan²c²dan aranacak metni iste ara = InputBox("Aranacak metni girin:", "Metin Teknikleri ╓rne≡i", , 1000, 1000) nerede = InStr(text1.Text, ara) ' Metni yaz² iτinde ara If nerede Then ' Bulunursa... text1.SelStart = nerede - 1 ' Bulunan metnin ba■²n² i■aretle text1.SelLength = Len(ara) ' Bulunan metnin uzunlu≡u kadar yaz²y² i■aretle Else ' Metin bulunamazsa... MsgBox "Metin bulunamad²!", 64 End If

Bⁿtⁿn bunlar² bildikten sonra oturup kendi metin edit÷rⁿnⁿzⁿ kolayca yazabilirsiniz...